package com.payment.mapper;

import com.payment.entity.common.PartnerPackage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface PartnerPackageMapper {

    public List<PartnerPackage> queryPackageByPartnerCode(@Param("partnerCode") String partnerCode, @Param("partnerScope") String partnerScope);

    public List<PartnerPackage> queryPackageByCode(@Param("packageCode") String packageCode, @Param("partnerCode") String partnerCode, @Param("partnerScope") String partnerScope);

    public List<PartnerPackage> queryPackageListByCode(@Param("partnerCode") String partnerCode, @Param("packageCode") String packageCode, @Param("salesType") String salesType);

    public String queryPackageNameEN(@Param("partnerCode") String partnerCode, @Param("packageCode") String packageCode);

    public String queryBuyType(@Param("packageCode") String packageCode, @Param("partnerCode") String partnerCode);

    public String queryPackageNameByCode(@Param("packageCode") String packageCode, @Param("partnerCode") String partnerCode);

    public String queryPriceType(@Param("packageCode") String packageCode, @Param("partnerCode") String partnerCode);

    public List<PartnerPackage> queryMoreSpecailPackage(@Param("partnerCode") String partnerCode, @Param("partnerScope") String partnerScope, @Param("salesType") String salesType);

    public List<PartnerPackage> queryListByCode(@Param("partnerCode") String partnerCode, @Param("packageCode") String packageCode);

    public List<PartnerPackage> queryPackageByCondition(@Param("partnerCode") String partnerCode, @Param("deviceCode") String deviceCode, @Param("coverCountrys") String country, @Param("continentName") String continent, @Param("packageType") String packageType, @Param("salesType") String salesType);

    public List<PartnerPackage> queryPackageByConditionEN(@Param("partnerCode") String partnerCode, @Param("deviceCode") String deviceCode, @Param("coverCountrysEN") String country, @Param("continentNameEN") String continent, @Param("packageType") String packageType, @Param("salesType") String salesType);

    public String querySalesType(@Param("packageCode") String packageCode, @Param("partnerCode") String partnerCode);

    public List<PartnerPackage> querySimplePackageListByPartnerCode(@Param("partnerCode") String partnerCode, @Param("deviceCode") String deviceCode);

    public int findCountByCondition(@Param("packageCode") String packageCode, @Param("partnerCode") String partnerCode);

    public void storagePackage(PartnerPackage product);

    public String queryPackageStatusByCode(@Param("packageCode") String packageCode, @Param("partnerCode") String partnerCode);

    public void updatePackageStatus(PartnerPackage product);

    public List<PartnerPackage> queryTejiaPackageByCode(@Param("partnerCode") String partnerCode, @Param("deviceCode") String deviceCode);

    public String queryPackageNameAs(@Param("partnerCode") String partnerCode, @Param("packageCode") String packageCode);

    public String queryPackageTypeByCode(@Param("packageCode") String packageCode, @Param("partnerCode") String partnerCode);
}